import http from '@/utils/request'

/**
 * 用户登录
 * @param data
 * @returns {*}
 */
export async function login(data) {
  return http.login("/api/user/login", data);
}

/**
 * 获取用户信息和权限信息
 * @returns
 */
export async function getInfo() {
  return http.get("/api/sysUser/getUserInfo")
}

/**
 * 退出登录
 * @param params
 * @returns
 */
export async function logout(params) {
  return http.post("/api/sysUser/logout", params)
}

/**
 * 获取菜单数据
 * @returns {AxiosPromise<any>}
 */
export async function getMenuList() {
  return http.get("/api/sysUser/getMenuList");
}

/**
 * 刷新token
 * @param params
 * @return {Promise<返回值>}
 */
export async function refreshTokenApi(params) {
  return http.post("/api/sysUser/refreshToken", params)
}

export default {
  /**
   * 获取用户列表
   * @param params
   * @return {AxiosPromise<any>}
   */
  async getUserList(params) {
    return http.get("/api/user/list", params)
  },
  /**
   * 新增用户
   * @param params
   * @return {Promise<返回值>}
   */
  async addUser(params){
    return http.post("/api/user/add", params)
  },
  /**
   * 修改用户
   * @param params
   * @return {AxiosPromise<any>}
   */
  async updateUser(params) {
    return http.put("/api/user/update", params)
  },
  /**
   * 删除用户
   * @param params
   * @return {Promise<void>}
   */
  async deleteUser(params) {
    return http.delete("/api/user/delete", params)
  },
  /**
   * 获取用户角色列表
   * @param params
   * @return {AxiosPromise<any>}
   */
  async getAssignRoleList(params) {
    return http.get("/api/user/getRoleListForAssign", params)
  },
  /**
   * 根据用户id获取角色id
   * @param params
   * @return {AxiosPromise<any>}
   */
  async getRoleIdByUserId(params) {
    return http.getRestApi("/api/user/getRoleByUserId", params)
  },
  /**
   * 分配角色
   * @param params
   * @return {AxiosPromise<any>}
   */
  async assignRole(params) {
    return http.post("/api/user/saveUserRole", params)
  },
}


